草庐IT

细读 ES6 | Generator 生成器

全部标签

javascript - Yeoman 生成器提示

我正在构建一个yeoman生成器,需要在回答提示时分配一个额外的值/答案。我找到了一种提示用户另一个问题的方法,但我需要的是在后台自动分配一个预定义的答案——这样用户就不会看到它的发生,也不会问用户另一个问题。下面是一个例子。还需要对包含12个以上值的列表执行此操作,因此下面的“when”命令并不理想,因为我必须使用when语句12次以上this.prompt([{type:'list',name:'redWhite',message:'whatcolour',choices:['red','white','blue','black','green','yellow','purple'

javascript - 如何从另一个调用 ES6 类中的一个方法?

如果我有这样一个javascriptES6类:import$from"jquery";exportclasstest{constructor(){this.es6='yay';}writeLine(text){console.log(text);}getTestData(){writeLine('writeLinecall');//我从另一个文件导入类并调用getTestDataSystem.import('app/classDefinition').then(function(classDefinitionModul){vartest=newclassDefinitionModul.

javascript - 如果调用了 .bind() 函数,是否无法判断函数是否为生成器函数?

似乎在任何生成器函数上调用.bind(this)都会破坏我查看该函数是否为生成器的能力。关于如何解决此问题的任何想法?varisGenerator=function(fn){if(!fn){returnfalse;}varisGenerator=false;//Fastermethodfirst//Calling.bind(this)causesfn.constructor.nametobe'Function'if(fn.constructor.name==='GeneratorFunction'){isGenerator=true;}//Slowermethodsecond//Cal

Javascript ES6 生成器异步

我需要异步运行生成器(我需要在控制台1、2、3、4、5中得到结果,因为现在我有4、1、2、3、5)有人可以帮助我吗?我需要运行任务并等待上一个任务完成后再运行下一个任务。我需要使用(如果可能:仅)生成器(或生成器+promise?)这是我的代码/*jshintesnext:true*/functionshow(msg){var_msg=msg;setTimeout(function(){console.log(_msg);},2000);}functionshow2(msg){console.log(msg);}varstack=[];//addsomefunctiontostacks

javascript - ES6 类中的动态方法调用

如何从ES6中的类动态调用方法?在ES5及更低版本中,我可以使用以下代码执行此操作。JSFiddleexamplevarApp=function(){varthat=this;this.init=function(){varelements=document.getElementsByClassName('call-method');for(vari=0;i当我尝试在ES6中做同样的事情时,我得到一个错误UncaughtTypeError:notafunction。这在ES6中是可能的还是我在这里做错了什么?JSFiddleexample'usestrict';classApp{con

javascript - 在 VS2015 中执行生成后的 Gulp.js 任务

我有一个基本的Asp.Net5站点,它使用Gulp.JS任务来清理、复制和缩小CSS和JS文件。在TaskRunnerExplorer中运行这些任务时-一切都很好,旧脚本被删除,新脚本被复制,文件被缩小。我希望在VS2015中自动执行这些任务-因此当我构建元素时,将发生以下情况:使用cleantaks删除旧脚本复制新脚本-使用复制任务使用mintaks缩小CSS和JS(将通过为每个任务调用单独的缩小任务来缩小CSS和JS。(生产和暂存使用缩小版本,开发使用普通的js和css文件)。现在我可能完全偏离了轨道,但我认为在project.json文件中我应该能够像这样在脚本配置中调用这些gu

JavaScript ES6 : Grouping methods in es6 classes?

我们中的一些人正在尝试创建一个JavaScript库以在RESTfulAPI上快速运行JSON查询。我想做的是根据它们的目的对一组方法进行分组。例如;通过API,我能够获取用户属性。我不想将所有这些方法都放在主对象下,而是将它们分组在API类对象中。即转换这个:myAPI.getUserById()为此:myAPI.User.getByID()myAPI.User.getByName()我们将使用下面的代码作为一个简单示例。我如何将我的用户方法嵌套在myAPI类的用户对象中??classmyAPI{constructor(url){this.url=url;//Codetoconnec

javascript - es6-module 默认导出导入为未定义

我不确定我在这里遗漏了什么。我正在使用jspm和es6-module-loader开发一个项目。我有一个定义如下的模块:importhooksfrom'./hooks';importapifrom'./api';importtoolsfrom'./tools';constStencilUtils={hooks:hooks,api:api,tools:tools,};export{hooks,api,tools};exportdefaultStencilUtils;/*globaldefine*/(function(root){if(typeofdefine==='function'&&

javascript - 扩展 native 类型的 ES6 类使 instanceof 在某些 JavaScript 引擎中表现异常?

考虑以下ES6类:'usestrict';classDummy{}classExtendDummyextendsDummy{constructor(...args){super(...args)}}classExtendStringextendsString{constructor(...args){super(...args)}}consted=newExtendDummy('dummy');constes=newExtendString('string');console.log(edinstanceofExtendDummy);console.log(esinstanceofEx

javascript - Rollup.js 如何在不做任何更改的情况下导入 js 文件(不是 es6 模块)(myvar$extrastring)

首先,我明白为什么rollup.js需要在某些变量的末尾附加额外的字符串以避免冲突但是......我不明白如何“连接/导入”一个不是amd/commonjs/es6的简单javascript文件,而是简单的显示模块!我有以下文件结构:foo.jsvarFoo=(function(){varsomeMethod=function(){};return{someMethod:someMethod};})();bar.js(function(module){module.bar="bar";})(Foo);主要.jsimport"foo.js"import"bar.js"构建后,我得到:构建